package com.hqx.oop;

/**
 * 递归方法
 */
public class RecursionMethod {
    public static void main(String[] args) {
//        System.out.println(getSum(100));
        System.out.println(getData(10));
    }

    /**
     * 计算1-n的累加和
     * @param n
     * @return
     */
    public static int getSum(int n) {
        if (n == 1) {
            return 1;
        }else {
            return n + getSum(n - 1);
        }
    }

    //例3：已知一个数列：f(0) = 1,f(1) = 4,f(n+2)=2*f(n+1) + f(n),
    //其中n是大于0的整数，求f(10)的值。
    public static int getData(int n) {
        if (n == 0) {
            return 1;
        } else if(n == 1) {
            return 4;
        } else {
            return 2*getData(n-1) + getData(n-2);
        }
    }
}
